package visiopuce.action;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;

import org.eclipse.jface.action.Action;
import org.hibernate.NonUniqueResultException;

import visiopuce.HibernateUtil;
import visiopuce.ICommandIds;
import visiopuce.objets.Biomedecine;
import visiopuce.objets.Prelevement;
import visiopuce.objets.Secteur;
import visiopuce.service.PrelevementServiceImpl;
import visiopuce.service.ReferentielService;
import visiopuce.service.ReferentielServiceImpl;
import visiopuce.service.UtilisateurService;
import visiopuce.service.UtilisateurServiceImpl;

public class ParserBaseAction extends Action {

	ReferentielService referentielService = ReferentielServiceImpl.getInstance();
	UtilisateurService utilisateurService = UtilisateurServiceImpl.getInstance();
	// SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
	SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

	// private HashMap<Integer, Utilisateur> numPresc = new HashMap<Integer,
	// Utilisateur>();
	// private HashMap<Integer, Utilisateur> numAnnotateur = new
	// HashMap<Integer, Utilisateur>();
	// private HashMap<Integer, Utilisateur> numSignat = new HashMap<Integer,
	// Utilisateur>();
	// private HashMap<Integer, Float> terme = new HashMap<Integer, Float>();
	// private HashMap<Integer, Biomedecine> biomed = new HashMap<Integer,
	// Biomedecine>();

	public ParserBaseAction(String text) {
		super(text);
		// The id is used to refer to the action in a menu or toolbar
		setId(ICommandIds.CMD_PARSER_BASE);
		// Associate the action with a pre-defined command, to allow key
		// bindings.
		setActionDefinitionId(ICommandIds.CMD_PARSER_BASE);
		setText("Parser les fichiers");
		setToolTipText("PaserVisopuce");
		setImageDescriptor(visiopuce.Activator.getImageDescriptor("/icons/switch-user.png"));
	}

	public void run() {
		SimpleDateFormat formater = null;

		formater = new SimpleDateFormat("dd-MM-yyyy");
		// String fichierPersonne = "Personne.csv";
		// String fichierPrelevement = "Prelevement.csv";
		// String fichierPuce = "Puce.csv";
		Biomedecine indicInconnue = ReferentielServiceImpl.getInstance().getTypeIndicationById(36);

		InputStream ips;
		try {
			ips = new FileInputStream("C:/Temp/secteur.csv");

			InputStreamReader ipsr = new InputStreamReader(ips, "utf8");
			BufferedReader br = new BufferedReader(ipsr);
			String lu;
			Biomedecine bm = new Biomedecine();
			bm.setIdBiomedecine(36);
			StringBuffer txtPersonne = new StringBuffer();
			while ((lu = br.readLine()) != null) {
				txtPersonne.append(lu);
			}
			String[] lignes = txtPersonne.toString().split("##");
			for (String ligne : lignes) {
				int idTypePrelevement = 0;
				// System.out.println(ligne);
				String[] tableau = ligne.split("°°");
				int idPersonne = Integer.parseInt(tableau[0].substring(1, tableau[0].length() - 1));
				int biomed = Integer.parseInt(tableau[1].substring(1, tableau[1].length() - 1));
				String numPrel = tableau[2].substring(1, tableau[2].length() - 1);
				int idPrel = Integer.parseInt(tableau[5].substring(1, tableau[5].length() - 1));
				try {
					idTypePrelevement = Integer.parseInt(tableau[6].substring(1, tableau[6].length() - 1));
				} catch (NumberFormatException e) {
					System.out.println("typePrel erreur : " + ligne);
				}
				Prelevement p = null;
				try {
					p = PrelevementServiceImpl.getInstance().getPrelevementByNumero(numPrel);
				} catch (NonUniqueResultException e) {
					System.out.println("pas unique : " + ligne);
				}
				if (p != null) {
					int secteur = 0;
					if (biomed != 0) {
						Biomedecine typeBio = ReferentielServiceImpl.getInstance().getTypeIndicationById(biomed);
						if (typeBio != null) {
							if (typeBio.getCategorie() == 1) {
								// prénat
								secteur = 3;
							} else if (typeBio.getCategorie() == 2) {
								// postnat
								secteur = 8;
							} else if (typeBio.getCategorie() == 3) {
								// foeto
								secteur = 9;
							} else if (typeBio.getCategorie() == 4) {
								// imgprénat
								secteur = 3;
							}

						}
					}

					if (secteur == 0) {

						if (idTypePrelevement == 3 || idTypePrelevement == 4 || idTypePrelevement == 7 || idTypePrelevement == 8 || idTypePrelevement == 14 || idTypePrelevement == 13) {
							// prénat
							secteur = 3;
						}
						if (idTypePrelevement == 2 || idTypePrelevement == 5 || idTypePrelevement > 24) {
							// foeto
							secteur = 9;
						}
						if (idTypePrelevement == 1 || idTypePrelevement == 15 || idTypePrelevement == 9) {
							// postnat
							secteur = 8;
						}
					}
					if (secteur == 0) {

						if (numPrel.contains("LA") || numPrel.contains("VC")) {
							secteur = 3;
						}
						if (numPrel.contains("SF") || numPrel.contains("F")) {
							secteur = 9;
						}
						if (numPrel.contains("S")) {
							secteur = 8;
						}
					}
					if (secteur == 0) {
						System.out.println("pas de secteur : " + ligne);
						secteur = 8;
					} else {
						Secteur sec = ReferentielServiceImpl.getInstance().getSecteurByid("" + secteur);
						p.setSecteur(sec);
						//System.out.println("secteur : " + sec.getLibelle() + ":" + ligne);
						HibernateUtil.beginTransaction();
						HibernateUtil.getSession().saveOrUpdate(p);
						HibernateUtil.commitTransaction();
					}

				} else {
					System.out.println("pas de prelevement : " + ligne);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	// if (tableau.length > 2) {
	// if (tableau[8].equals("\"1\"")) {
	// int idPersonne = 0;
	// try {
	// if (tableau[0].length() > 2) {
	// idPersonne = Integer.parseInt(tableau[0].substring(1, tableau[0].length()
	// - 1));
	// }
	// } catch (NumberFormatException ex) {
	// System.out.print("erreur de idPersonne " + tableau[0].substring(1,
	// tableau[0].length() - 1) + "ligne :" + tableau[0].substring(1,
	// tableau[0].length() - 1));
	// }
	// Personne p = new Personne();
	// p.setIdPersonne(idPersonne);
	// if (tableau[1].length() > 2) {
	// p.setNom(StringEscapeUtils.unescapeHtml(tableau[1].substring(1,
	// tableau[1].length() - 1)).trim().toUpperCase());
	// }
	// if (tableau[2] != null && !tableau[2].equals("NULL") &&
	// !tableau[2].isEmpty()) {
	// p.setPrenom(StringEscapeUtils.unescapeHtml(tableau[2].substring(1,
	// tableau[2].length() - 1)).trim().toUpperCase());
	// } else {
	// p.setPrenom("non enregistré");
	// }
	// if (!tableau[3].equals("NULL") && !tableau[3].isEmpty()) {
	// try {
	// Date dateNaissance = formatter.parse(tableau[3].substring(1,
	// tableau[3].length() - 1));
	// p.setDateNaissance(dateNaissance);
	// } catch (ParseException e) {
	// System.out.println("erreur date de naissance " + tableau[3].substring(1,
	// tableau[3].length() - 1) + ":" + ligne);
	// e.printStackTrace();
	// }
	// }
	// p.setSexe("NA");
	// if (!tableau[4].equals("NULL") && tableau[4].length() > 2) {
	// if (tableau[4] != null && !tableau[4].isEmpty()) {
	// p.setSexe(tableau[4].substring(1, tableau[4].length() - 1));
	// }
	// }
	// if (!tableau[5].equals("NULL") && tableau[5].length() > 2) {
	// if (tableau[5].length() > 2) {
	// p.setPhenotype(StringEscapeUtils.unescapeHtml(tableau[5].substring(1,
	// tableau[5].length() - 1)));
	// }
	// }
	// if (!tableau[6].equals("NULL") && tableau[6].length() > 2) {
	// if (tableau[6].substring(1, tableau[6].length() - 1).equals("0")) {
	//
	// p.setPatient(false);
	// } else {
	// p.setPatient(true);
	// }
	// }
	// if (tableau[7].equals("NULL") || tableau[7].isEmpty()) {
	// numPresc.put(idPersonne, null);
	// } else {
	// try {
	// numPresc.put(idPersonne,
	// UtilisateurServiceImpl.getInstance().getUtilisateurById(Integer.parseInt(tableau[7].substring(1,
	// tableau[7].length() - 1))));
	// } catch (NumberFormatException ex) {
	// numPresc.put(idPersonne, null);
	// System.out.println("erreur presc : " + ligne);
	// }
	// }
	// if (tableau[10].equals("NULL") || tableau[10].isEmpty()) {
	// numAnnotateur.put(idPersonne, null);
	// } else {
	// try {
	// numAnnotateur.put(idPersonne,
	// UtilisateurServiceImpl.getInstance().getUtilisateurById(Integer.parseInt(tableau[10].substring(1,
	// tableau[10].length() - 1))));
	// } catch (NumberFormatException ex) {
	// numAnnotateur.put(idPersonne, null);
	// System.out.println("erreur annotateur : " + ligne);
	// }
	// }
	//
	// if (!tableau[11].equals("NULL") && !tableau[11].isEmpty() &&
	// !tableau[11].substring(1, tableau[11].length() - 1).equals("0")) {
	// terme.put(idPersonne, Float.parseFloat(tableau[11].substring(1,
	// tableau[11].length() - 1)));
	// }
	// if (!tableau[12].equals("NULL") && !tableau[12].isEmpty() &&
	// !tableau[12].substring(1, tableau[12].length() - 1).equals("0")) {
	// p.setIdPucePrincipale(Integer.parseInt(tableau[12].substring(1,
	// tableau[12].length() - 1)));
	// }
	//
	// if (tableau[13].equals("NULL") || tableau[13].isEmpty() ||
	// tableau[13].substring(1, tableau[13].length() - 1).equals("0")) {
	// biomed.put(idPersonne, indicInconnue);
	// } else {
	// biomed.put(idPersonne,
	// ReferentielServiceImpl.getInstance().getTypeIndicationById(Integer.parseInt(tableau[13].substring(1,
	// tableau[13].length() - 1))));
	// }
	//
	// if (tableau[15].equals("NULL") || tableau[15].isEmpty() ||
	// tableau[15].substring(1, tableau[15].length() - 1).equals("0")) {
	// numSignat.put(idPersonne, null);
	// } else {
	// numSignat.put(idPersonne,
	// UtilisateurServiceImpl.getInstance().getUtilisateurById(Integer.parseInt(tableau[15].substring(1,
	// tableau[15].length() - 1))));
	// }
	// p.setType("NA");
	// if (tableau.length > 17 && tableau[17].length() > 2) {
	// p.setCommentaires(StringEscapeUtils.unescapeHtml(tableau[17].substring(1,
	// tableau[17].length() - 1)));
	// }
	// if (p.getNumSejour() == null) {
	// p.setNumSejour("Non rentré");
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(p);
	// HibernateUtil.commitTransaction();
	// } else {
	// System.out.println("erreur : personne ne faisant pas parti du groupe de montpellier"
	// + tableau[8] + ligne);
	// }
	// } else {
	// System.out.println("erreur 2 : tableau.length > 2" + ligne);
	// }
	// }
	//
	// FileInputStream ipP = new
	// FileInputStream("C:/Users/Manon/Documents/workspace visiopuce2/visiopuce/"
	// + fichierPrelevement);
	//
	// InputStreamReader ipPr = new InputStreamReader(ipP, "utf8");
	// BufferedReader brP = new BufferedReader(ipPr);
	//
	// StringBuffer txtPrelev = new StringBuffer();
	// while ((lu = brP.readLine()) != null) {
	// txtPrelev.append(lu);
	// }
	// String[] lignesPrel = txtPrelev.toString().split("##");
	// for (String ligneP : lignesPrel) {
	//
	// String[] tableau = ligneP.split("°°");
	// if (tableau.length > 2) {
	// Personne p = null;
	// Prelevement prel = new Prelevement();
	// prel.setIdPrelevement(Integer.parseInt(tableau[0].substring(1,
	// tableau[0].length() - 1)));
	// if (tableau[1].length() > 2) {
	// p =
	// PersonneServiceImpl.getInstance().getPersonneById(Integer.parseInt(tableau[1].substring(1,
	// tableau[1].length() - 1)));
	// }
	// if (p != null) {
	// prel.setPersonne(p);
	// String numDossier = "";
	// if (tableau[2].length() > 2) {
	// numDossier = tableau[2].substring(1, tableau[2].length() - 1).trim();
	// prel.setNumeroPrelevement(numDossier);
	// }
	//
	// if (tableau[3].equals("NULL")) {
	// prel.setTypePrelevement(ReferentielServiceImpl.getInstance().getTypePrelevementById(10));
	// } else {
	// prel.setTypePrelevement(ReferentielServiceImpl.getInstance().getTypePrelevementById(Integer.parseInt(tableau[3].substring(1,
	// tableau[3].length() - 1))));
	// }
	//
	// String numDerive = null;
	// String[] tt = numDossier.split("-");
	// if (tt.length > 2) {
	// numDerive = (tt[0] + "-" + tt[1]).trim();
	// } else if (numDossier.contains("dil")) {
	// String[] tt2 = numDossier.split("dil");
	// numDerive = tt2[0].trim();
	// } else if (numDossier.contains("DIL")) {
	// String[] tt2 = numDossier.split("DIL");
	// numDerive = tt2[0].trim();
	// } else if (numDossier.contains("bis")) {
	// String[] tt2 = numDossier.split("bis");
	// numDerive = tt2[0].trim();
	// } else if (numDossier.length() > 8 && !numDossier.substring(0,
	// 2).equals("LA") && !numDossier.substring(0, 2).equals("SF") &&
	// !numDossier.substring(0, 2).equals("VC")) {
	// System.out.println("dérivé à entrer à la main : " +
	// tableau[2].substring(1, tableau[2].length() - 1));
	// } else if (numDossier.length() > 9 && (numDossier.substring(0,
	// 2).equals("LA") || numDossier.substring(0, 2).equals("SF") ||
	// numDossier.substring(0, 2).equals("VC"))) {
	// System.out.println("dérivé à entrer à la main : " +
	// tableau[2].substring(1, tableau[2].length() - 1));
	// }
	// if (numDerive != null && !numDerive.isEmpty()) {
	// Prelevement pder =
	// PrelevementServiceImpl.getInstance().getPrelevementByNumero(numDerive);
	// if (pder != null) {
	// prel.setDerive(pder);
	//
	// }
	// }
	//
	// if (tableau[1].length() > 2 && !tableau[1].equals("NULL")) {
	// prel.setIndication(biomed.get(Integer.parseInt(tableau[1].substring(1,
	// tableau[1].length() - 1))));
	//
	// if (biomed.get(Integer.parseInt(tableau[1].substring(1,
	// tableau[1].length() - 1))) != null) {
	// if (biomed.get(Integer.parseInt(tableau[1].substring(1,
	// tableau[1].length() - 1))).getCategorie() == 1) {
	// prel.setSecteur(ReferentielServiceImpl.getInstance().getSecteurByNom(ApplicationContexte.SECTEUR_PUCE_PRENATAL));
	// } else if (biomed.get(Integer.parseInt(tableau[1].substring(1,
	// tableau[1].length() - 1))).getCategorie() == 2) {
	// prel.setSecteur(ReferentielServiceImpl.getInstance().getSecteurByNom(ApplicationContexte.SECTEUR_PUCE_POSTNATAL));
	// } else if (biomed.get(Integer.parseInt(tableau[1].substring(1,
	// tableau[1].length() - 1))).getCategorie() == 3 ||
	// biomed.get(Integer.parseInt(tableau[1].substring(1, tableau[1].length() -
	// 1))).getCategorie() == 4) {
	// prel.setSecteur(ReferentielServiceImpl.getInstance().getSecteurByNom(ApplicationContexte.SECTEUR_PUCE_FOETO));
	// } else {
	// prel.setSecteur(ReferentielServiceImpl.getInstance().getSecteurByNom(ApplicationContexte.SECTEUR_PUCE_POSTNATAL));
	// }
	// } else {
	// if (terme.get(Integer.parseInt(tableau[1].substring(1,
	// tableau[1].length() - 1))) != null) {
	// prel.setSecteur(ReferentielServiceImpl.getInstance().getSecteurByNom(ApplicationContexte.SECTEUR_PUCE_PRENATAL));
	// } else {
	// prel.setSecteur(ReferentielServiceImpl.getInstance().getSecteurByNom(ApplicationContexte.SECTEUR_PUCE_POSTNATAL));
	// }
	// }
	// }
	// prel.setDpi(false);
	// prel.setRecherche(false);
	// if (prel.getIndication() == null) {
	// prel.setIndication(indicInconnue);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(prel);
	// HibernateUtil.commitTransaction();
	//
	// if (terme.get(Integer.parseInt(tableau[1].substring(1,
	// tableau[1].length() - 1))) != null) {
	// Champ tTerme = new Champ();
	// tTerme.setIdObjet("Prel-" + prel.getIdPrelevement());
	// tTerme.setType("tTerme");
	// tTerme.setValeur("" + terme.get(Integer.parseInt(tableau[1].substring(1,
	// tableau[1].length() - 1))));
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(tTerme);
	// HibernateUtil.commitTransaction();
	//
	// }
	//
	// if (!tableau[5].isEmpty() && !tableau[5].equals("NULL")) {
	// Champ tRangement = new Champ();
	// tRangement.setIdObjet("Prel-" + prel.getIdPrelevement());
	// tRangement.setType("tRangement");
	// tRangement.setValeur(tableau[5].substring(1, tableau[5].length() - 1));
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(tRangement);
	// HibernateUtil.commitTransaction();
	// }
	//
	// if (!tableau[4].isEmpty() && !tableau[4].equals("NULL")) {
	// Champ tConcentration = new Champ();
	// tConcentration.setIdObjet("Prel-" + prel.getIdPrelevement());
	// tConcentration.setType("tConcentration");
	// tConcentration.setValeur(tableau[4].substring(1, tableau[4].length() -
	// 1));
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(tConcentration);
	// HibernateUtil.commitTransaction();
	//
	// }
	//
	// if (!tableau[6].isEmpty() && !tableau[6].equals("NULL")) {
	// Champ tConcentration = new Champ();
	// tConcentration.setIdObjet("Prel-" + prel.getIdPrelevement());
	// tConcentration.setType("tConcentration");
	// tConcentration.setValeur(tableau[6].substring(1, tableau[6].length() -
	// 1));
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(tConcentration);
	// HibernateUtil.commitTransaction();
	// }
	// } else {
	// System.out.println("pas de personne pour le prélèvement : " +
	// Integer.parseInt(tableau[1].substring(1, tableau[1].length() - 1)) +
	// " ligne : " + ligneP);
	// }
	// }
	//
	// }
	//
	// FileInputStream ipPuce = new
	// FileInputStream("C:/Users/Manon/Documents/workspace visiopuce2/visiopuce/"
	// + fichierPuce);
	//
	// InputStreamReader ipPuc = new InputStreamReader(ipPuce, "utf8");
	// BufferedReader brPuc = new BufferedReader(ipPuc);
	// StringBuffer txtPuce = new StringBuffer();
	// while ((lu = brPuc.readLine()) != null) {
	// txtPuce.append(lu);
	// }
	// String[] lignesPuce = txtPuce.toString().split("##");
	// for (String lignePuc : lignesPuce) {
	//
	// String[] tableau = lignePuc.split("°°");
	// if (tableau.length > 2) {
	// try {
	// if (tableau[12].length() > 2) {
	// Prelevement prelPuce =
	// PrelevementServiceImpl.getInstance().getPrelevementById(Integer.parseInt(tableau[12].substring(1,
	// tableau[12].length() - 1)));
	// if (prelPuce != null) {
	// Analyse ana = new Analyse();
	// // if (tableau[0].length() > 2 ) {
	// // ana.setIdAnalyse(Integer.parseInt(tableau[0].substring(1,
	// // tableau[0].length() - 1)));
	// // }
	// ana.setTypeAnalyse(ReferentielServiceImpl.getInstance().getTypeAnalyseByid("3"));
	// ana.setPrescripteur(numPresc.get(prelPuce.getPersonne().getIdPersonne()));
	// ana.setPrelevement(prelPuce);
	// ana.setUrgent(false);
	// ana.setUfExec(4274);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(ana);
	// HibernateUtil.commitTransaction();
	//
	// Puce puce = new Puce();
	// if (tableau[0].length() > 2 && !tableau[0].equals("NULL")) {
	// puce.setIdPuce(Integer.parseInt(tableau[0].substring(1,
	// tableau[0].length() - 1)));
	// }
	// if (tableau[1] != null && !tableau[1].isEmpty() && tableau[1].length() >
	// 2 && !tableau[1].equals("NULL")) {
	// puce.setParametres(StringEscapeUtils.unescapeHtml(tableau[1].substring(1,
	// tableau[1].length() - 1)));
	// }
	// if (tableau[2] != null && !tableau[2].isEmpty() && tableau[2].length() >
	// 2 && !tableau[2].equals("NULL")) {
	// puce.setCommentaireAnnotateur(StringEscapeUtils.unescapeHtml(tableau[2].substring(1,
	// tableau[2].length() - 1)));
	// }
	// if (tableau[3] != null && !tableau[3].isEmpty() && tableau[3].length() >
	// 2 && !tableau[3].equals("NULL")) {
	// puce.setConclusionReunion(StringEscapeUtils.unescapeHtml(tableau[3].substring(1,
	// tableau[3].length() - 1)));
	// }
	// puce.setAnnotateur(numAnnotateur.get(prelPuce.getPersonne().getIdPersonne()));
	// if (tableau[7] != null && !tableau[7].isEmpty() &&
	// !tableau[7].equals("NULL")) {
	// puce.setTypeLogiciel(ReferentielServiceImpl.getInstance().getTypeLogicielById(Integer.parseInt(tableau[7].substring(1,
	// tableau[7].length() - 1))));
	// }
	// if (tableau[8] != null && !tableau[8].isEmpty() &&
	// !tableau[8].equals("NULL")) {
	// puce.setTypePuce(ReferentielServiceImpl.getInstance().getTypePuceById(Integer.parseInt(tableau[8].substring(1,
	// tableau[8].length() - 1))));
	// }
	// if (tableau[9] != null && !tableau[9].isEmpty() &&
	// !tableau[9].equals("NULL") && !tableau[9].equals("\"0\"")) {
	// puce.setFeuillePuce(FeuillePuceServiceImpl.getInstance().getFeuillePuceById(Integer.parseInt(tableau[9].substring(1,
	// tableau[9].length() - 1))));
	// }
	// puce.setSupprimer(false);
	// if (tableau[10].substring(1, tableau[10].length() - 1).equals("1")) {
	// puce.setSupprimer(true);
	// }
	// if (tableau[11] != null && !tableau[11].isEmpty() && tableau[11].length()
	// > 2) {
	// puce.setSexePuce(tableau[11].substring(1, tableau[11].length() - 1));
	// } else {
	// puce.setSexePuce("NA");
	// }
	// puce.setAnalyse(ana);
	// if (tableau[13] != null && !tableau[13].isEmpty() && tableau[13].length()
	// > 2) {
	// puce.setCommentaireSignataires(StringEscapeUtils.unescapeHtml(tableau[13].substring(1,
	// tableau[13].length() - 1)));
	// }
	// if (tableau[5] != null && !tableau[5].equals("\"NULL\"") &&
	// !tableau[5].equals("NULL")) {
	// puce.setAnnotateur(UtilisateurServiceImpl.getInstance().getUtilisateurById(Integer.parseInt(tableau[5].substring(1,
	// tableau[5].length() - 1))));
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(puce);
	// HibernateUtil.commitTransaction();
	//
	// } else {
	// System.out.println("pas de prélèvement pour cette puce? : " + lignePuc);
	// }
	// }
	// } catch (Exception e) {
	// System.out.println("erreur puce " + lignePuc);
	// e.printStackTrace();
	// }
	// }
	// }
	// FileInputStream ipRP = new
	// FileInputStream("C:/Users/Manon/Documents/workspace visiopuce2/visiopuce/rendu_puce.csv");
	//
	// InputStreamReader ipPrp = new InputStreamReader(ipRP, "utf8");
	// BufferedReader brRP = new BufferedReader(ipPrp);
	// StringBuffer txtRP = new StringBuffer();
	// while ((lu = brRP.readLine()) != null) {
	// txtRP.append(lu);
	// }
	// String[] lignesRP = txtRP.toString().split("##");
	// for (String ligneRP : lignesRP) {
	//
	// String[] tableau = ligneRP.split("°°");
	// if (tableau.length > 2) {
	// try {
	// Resultat result = new Resultat();
	// if (tableau[10].length() > 2) {
	// Puce p =
	// PuceServiceImpl.getInstance().getPuceByid(Integer.parseInt(tableau[10].substring(1,
	// tableau[10].length() - 1)));
	// if (p != null) {
	// result.setAnalyse(p.getAnalyse());
	// result.setResultat("NA");
	// if (tableau[8].length() > 2) {
	// result.setCommentaire(StringEscapeUtils.unescapeHtml(tableau[8].substring(1,
	// tableau[8].length() - 1)));
	// }
	// if (!tableau[1].isEmpty() && tableau[1].length() > 2 &&
	// !tableau[1].equals("NULL")) {
	// try {
	// Date dateRendu = formatter.parse(tableau[1].substring(1,
	// tableau[1].length() - 1));
	// result.setDateRendu(dateRendu);
	// } catch (ParseException e) {
	// System.out.println("erreur date de naissance " + tableau[3].substring(1,
	// tableau[3].length() - 1) + ":" + ligneRP);
	// e.printStackTrace();
	// }
	// }
	// if (tableau[9].length() > 2) {
	// String formule = StringEscapeUtils.unescapeHtml(tableau[9].substring(1,
	// tableau[9].length() - 1).trim());
	// result.setFormule(formule);
	// if (formule == null || formule.equals("46,XX") ||
	// formule.equals("ar(1-22,X)x2") || formule.equals("arr (1-22)x2,(XY)x1")
	// || formule.equals("arr (1-22,X)x2") || formule.equals("arr(1-22)x2") ||
	// formule.equals("arr(1-22)x2, (XY)x1")
	// || formule.equals("arr(1-22)x2,(X,Y)x1") ||
	// formule.equals("arr(1-22)x2,(XY)x1") ||
	// formule.equals("arr(1-22)x2,(XY)x1") || formule.equals("arr(1-22,X)x2")
	// || formule.equals("arr(1-22,X)x2") ||
	// formule.equals("arr(1-22,X)x2,(XY)x1")
	// || formule.equals("arr(1-22,Y)x2,(Xx1)") ||
	// formule.contains("Pas de microréarrangement")) {
	// result.setResultat("Normal");
	// } else {
	// if (formule.contains("arr ")) {
	// result.setResultat("Anormal déséquilibré");
	// String chr = "";
	// String[] tablArr = formule.substring(2).trim().split("arr ");
	// for (String arr : tablArr) {
	// String[] tab2 = arr.split(" ");
	// if (tab2.length > 0) {
	// for (String ttt : tab2) {
	// if (!ttt.trim().equals("arr") && !ttt.trim().equals("snp")) {
	// String[] tab3 =ttt.split("p|q");
	// if (tab3.length > 0) {
	// chr += tab3[0] + "|";
	// }
	// }
	// }
	// }
	// }
	// if (!chr.isEmpty()) {
	// System.out.println("formule : " + formule + "chr : " + chr);
	// result.setChromosomes(chr);
	// }
	// }
	// }
	// }
	// result.setSignataire(numSignat.get(p.getAnalyse().getPrelevement().getPersonne().getIdPersonne()));
	// result.setHerite("NA");
	//
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(result);
	// HibernateUtil.commitTransaction();
	//
	// RenduPuce rp = new RenduPuce();
	// if (tableau[0].length() > 2) {
	// rp.setIdRenduPuce(Integer.parseInt(tableau[0].substring(1,
	// tableau[0].length() - 1)));
	// }
	// if (tableau[2].length() > 2) {
	// rp.setAnoter(StringEscapeUtils.unescapeHtml(tableau[2].substring(1,
	// tableau[2].length() - 1)));
	// }
	// if (tableau[7].length() > 2) {
	// rp.setBuild(tableau[7].substring(1, tableau[7].length() - 1));
	// }
	// if (tableau[13].substring(1, tableau[13].length() - 1) != null &&
	// !tableau[13].equals("NULL"))
	// rp.setTypePlanExp(ReferentielServiceImpl.getInstance().getTypePlanExpByid(Integer.parseInt(tableau[13].substring(1,
	// tableau[13].length() - 1))));
	// rp.setResultat(result);
	// // if (tableau[6].length() > 2) {
	// // rp.setValide(Boolean.parseBoolean(tableau[6].substring(1,
	// // tableau[6].length() - 1)));
	// // }
	// if (tableau[12].length() > 2 && !tableau[12].equals("NULL")) {
	// rp.setResolution(StringEscapeUtils.unescapeHtml(tableau[12].substring(1,
	// tableau[12].length() - 1)));
	// }
	// // if (tableau[14].length() > 2 &&
	// // !tableau[14].equals("NULL")) {
	// // rp.setVous(tableau[14].substring(1,
	// // tableau[14].length() - 1));
	// // }
	// rp.setPuce(PuceServiceImpl.getInstance().getPuceByid(Integer.parseInt(tableau[10].substring(1,
	// tableau[10].length() - 1))));
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(rp);
	// HibernateUtil.commitTransaction();
	// } else {
	// System.out.println("erreur pas de puce pour le résutlat puce : " +
	// ligneRP);
	// }
	// }
	// } catch (Exception e) {
	// System.out.println("erreur résultat puce : " + ligneRP);
	// e.printStackTrace();
	// }
	// }
	//
	// }
	//
	// FileInputStream ipRBM = new
	// FileInputStream("C:/Users/Manon/Documents/workspace visiopuce2/visiopuce/rendu_biomol.csv");
	//
	// InputStreamReader ipPrbm = new InputStreamReader(ipRBM, "utf8");
	// BufferedReader brRBM = new BufferedReader(ipPrbm);
	// StringBuffer txtRBM = new StringBuffer();
	// while ((lu = brRBM.readLine()) != null) {
	// txtRBM.append(lu);
	// }
	// String[] lignesRBM = txtRBM.toString().split("##");
	// for (String ligneRBM : lignesRBM) {
	//
	// String[] tableau = ligneRBM.split("°°");
	// if (tableau.length > 2) {
	// try {
	// Resultat result = new Resultat();
	// if (tableau[10].length() > 2) {
	// Puce p =
	// PuceServiceImpl.getInstance().getPuceByid(Integer.parseInt(tableau[10].substring(1,
	// tableau[10].length() - 1)));
	// if (p != null) {
	// Analyse anaPuce =
	// AnalyseServiceImpl.getInstance().getAnalyseByIdAnalyse(p.getAnalyse().getIdAnalyse());
	// Prelevement prel =
	// PrelevementServiceImpl.getInstance().getPrelevementById(anaPuce.getPrelevement().getIdPrelevement());
	//
	// Analyse ana = null;
	// ana =
	// AnalyseServiceImpl.getInstance().getAnalyseByTypeAndNumeroPrelevement(4,
	// prel.getNumeroPrelevement());
	// if (ana == null) {
	// ana = new Analyse();
	// }
	// if (ana.getPrelevement() == null) {
	// ana.setPrelevement(p.getAnalyse().getPrelevement());
	// }
	// if (ana.getPrescripteur() == null) {
	// ana.setPrescripteur(p.getAnalyse().getPrescripteur());
	// }
	//
	// ana.setTypeAnalyse(referentielService.getTypeAnalyseByid("4"));
	// ana.setUfExec(4274);
	// ana.setUrgent(false);
	//
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(ana);
	// HibernateUtil.commitTransaction();
	// result.setResultat("NA");
	// result.setAnalyse(ana);
	// if (tableau[5].length() > 2) {
	//
	// result.setCommentaire(StringEscapeUtils.unescapeHtml(tableau[5].substring(1,
	// tableau[5].length() - 1)));
	//
	// if (result.getCommentaire().contains("a permis de confirmer") &&
	// !result.getCommentaire().contains("ne confirme pas la") &&
	// !result.getCommentaire().contains("ne permet pas de confirmer")) {
	// result.setResultat("Anormal déséquilibré");
	// }
	// if ((result.getCommentaire().contains("ne confirme pas la") ||
	// result.getCommentaire().contains("ne permet pas de confirmer")) &&
	// !result.getCommentaire().contains("a permis de confirmer")) {
	// result.setResultat("Normal");
	// }
	// }
	// result.setHerite("NA");
	//
	// if (!tableau[2].isEmpty() && tableau[2].length() > 2 &&
	// !tableau[2].equals("NULL")) {
	// try {
	// Date dateRendu = formatter.parse(tableau[2].substring(1,
	// tableau[2].length() - 1));
	// result.setDateRendu(dateRendu);
	// } catch (ParseException e) {
	// System.out.println("erreur date de naissance " + tableau[2].substring(1,
	// tableau[2].length() - 1) + ":" + ligneRBM);
	// e.printStackTrace();
	// }
	// }
	// result.setFormule("");
	// result.setSignataire(utilisateurService.getUtilisateurByNom("Touitou"));
	// if (tableau[7].length() > 2) {
	// if (tableau[7].substring(1, tableau[7].length() - 1).equals("1")) {
	// result.setHerite("Hérité de l'un des 2");
	// } else if (tableau[7].substring(1, tableau[7].length() - 1).equals("0"))
	// {
	// result.setHerite("Non verifié");
	// } else if (tableau[7].substring(1, tableau[7].length() - 1).equals("2"))
	// {
	// result.setHerite("De novo");
	// }
	// }
	//
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(result);
	// HibernateUtil.commitTransaction();
	//
	// RenduBiomol rbm = new RenduBiomol();
	// if (tableau[0].length() > 2) {
	// rbm.setIdRenduBioMol(Integer.parseInt(tableau[0].substring(1,
	// tableau[0].length() - 1)));
	// }
	// if (tableau[9].length() > 2) {
	// rbm.setBuild(tableau[9].substring(1, tableau[9].length() - 1));
	// }
	// if (tableau[6].length() > 2) {
	// rbm.setCoherencePuce(tableau[6].substring(1, tableau[6].length() -
	// 1).equals("1"));
	// }
	// if (tableau[8].length() > 2) {
	// rbm.setValide(Integer.parseInt(tableau[8].substring(1,
	// tableau[8].length() - 1)));
	// }
	// rbm.setResultat(result);
	// if (tableau[10].length() > 2) {
	// rbm.setPuce(PuceServiceImpl.getInstance().getPuceByid(Integer.parseInt(tableau[10].substring(1,
	// tableau[10].length() - 1))));
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(rbm);
	// HibernateUtil.commitTransaction();
	// } else {
	// System.out.println("erreur pas de puce pour le résulat de BM : " +
	// ligneRBM);
	// }
	// }
	// } catch (Exception e) {
	// System.out.println("erreur resulat BM" + ligneRBM);
	// e.printStackTrace();
	// }
	// }
	//
	// }
	//
	// FileInputStream ipRf = new
	// FileInputStream("C:/Users/Manon/Documents/workspace visiopuce2/visiopuce/rendu_fish.csv");
	//
	// InputStreamReader ipPrf = new InputStreamReader(ipRf, "utf8");
	// BufferedReader brRf = new BufferedReader(ipPrf);
	// StringBuffer txtRF = new StringBuffer();
	// while ((lu = brRf.readLine()) != null) {
	// txtRF.append(lu);
	// }
	// String[] lignesRF = txtRF.toString().split("##");
	// for (String ligneRf : lignesRF) {
	//
	// String[] tableau = ligneRf.split("°°");
	// if (tableau.length > 2) {
	// try {
	// Resultat result = new Resultat();
	// if (tableau[10].length() > 2) {
	// Puce p =
	// PuceServiceImpl.getInstance().getPuceByid(Integer.parseInt(tableau[9].substring(1,
	// tableau[9].length() - 1)));
	// Analyse anaPuce =
	// AnalyseServiceImpl.getInstance().getAnalyseByIdAnalyse(p.getAnalyse().getIdAnalyse());
	// Prelevement prel =
	// PrelevementServiceImpl.getInstance().getPrelevementById(anaPuce.getPrelevement().getIdPrelevement());
	// if (p != null) {
	// Analyse ana = null;
	// ana =
	// AnalyseServiceImpl.getInstance().getAnalyseByTypeAndNumeroPrelevement(2,
	// prel.getNumeroPrelevement());
	// if (ana == null) {
	// ana = new Analyse();
	// }
	// if (ana.getPrelevement() == null) {
	// ana.setPrelevement(p.getAnalyse().getPrelevement());
	// }
	// if (ana.getPrescripteur() == null) {
	// ana.setPrescripteur(p.getAnalyse().getPrescripteur());
	// }
	// ana.setTypeAnalyse(referentielService.getTypeAnalyseByid("2"));
	// ana.setUfExec(4274);
	//
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(ana);
	// HibernateUtil.commitTransaction();
	//
	// result.setAnalyse(ana);
	// result.setResultat("NA");
	// if (tableau[5].length() > 2) {
	// result.setCommentaire(StringEscapeUtils.unescapeHtml(tableau[5].substring(1,
	// tableau[5].length() - 1)));
	// if ((result.getCommentaire().contains("permet de confirmer la") ||
	// result.getCommentaire().contains("permettent de confirmer la")) &&
	// !result.getCommentaire().contains("ne permettent pas") &&
	// !result.getCommentaire().contains("ne permet pas")) {
	// result.setResultat("Anormal déséquilibré");
	// }
	// if ((result.getCommentaire().contains("ne permettent pas") ||
	// result.getCommentaire().contains("ne permet pas")) &&
	// !result.getCommentaire().contains("permet de confirmer la") &&
	// !result.getCommentaire().contains("permettent de confirmer la")) {
	// result.setResultat("Normal");
	// }
	// }
	// if (!tableau[2].isEmpty() && !tableau[2].equals("NULL")) {
	// try {
	// Date dateRendu = formatter.parse(tableau[2].substring(1,
	// tableau[2].length() - 1));
	// result.setDateRendu(dateRendu);
	// } catch (ParseException e) {
	// System.out.println("erreur date de naissance " + tableau[2].substring(1,
	// tableau[2].length() - 1) + ":" + ligneRf);
	// e.printStackTrace();
	// }
	// }
	//
	// if (tableau[6].length() > 2) {
	// result.setFormule(tableau[6].substring(1, tableau[6].length() - 1));
	// }
	// result.setResultat("NA");
	//
	// result.setHerite("NA");
	//
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(result);
	// HibernateUtil.commitTransaction();
	//
	// RenduFish rf = new RenduFish();
	// if (tableau[0].length() > 2) {
	// rf.setIdRenduFish(Integer.parseInt(tableau[0].substring(1,
	// tableau[0].length() - 1)));
	// }
	// if (tableau[8].length() > 2) {
	// rf.setBuild(tableau[8].substring(1, tableau[8].length() - 1));
	// }
	// if (tableau[7].length() > 2) {
	// rf.setValide(Integer.parseInt(tableau[7].substring(1, tableau[7].length()
	// - 1)));
	// }
	// rf.setResultat(result);
	// if (tableau[9].length() > 2) {
	// Puce pu =
	// PuceServiceImpl.getInstance().getPuceByid(Integer.parseInt(tableau[9].substring(1,
	// tableau[9].length() - 1)));
	// if (pu != null) {
	// rf.setPuce(pu);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(rf);
	// HibernateUtil.commitTransaction();
	// } else {
	// System.out.println("erreur pas de puce pour le résulat de FISH : " +
	// ligneRf + "id puce : " + Integer.parseInt(tableau[9].substring(1,
	// tableau[9].length() - 1)));
	// }
	// } else {
	// System.out.println("erreur pas de puce pour le résulat de FISH : " +
	// ligneRf + "id puce : " + Integer.parseInt(tableau[9].substring(1,
	// tableau[9].length() - 1)));
	// }
	//
	// } else {
	// System.out.println("erreur pas de puce pour le résulat de FISH : " +
	// ligneRf);
	// }
	// }
	// } catch (Exception e) {
	// System.out.println("erreur resutlat Fish" + ligneRf);
	// e.printStackTrace();
	// }
	// }
	//
	// }
	//
	// FileInputStream fipD = new
	// FileInputStream("C:/Users/Manon/Documents/workspace visiopuce2/visiopuce/date.csv");
	//
	// InputStreamReader ipD = new InputStreamReader(fipD, "utf8");
	// BufferedReader brD = new BufferedReader(ipD);
	// StringBuffer txtD = new StringBuffer();
	// while ((lu = brD.readLine()) != null) {
	// txtD.append(lu);
	// }
	// String[] lignesD = txtD.toString().split("##");
	// for (String ligneD : lignesD) {
	//
	// Personne p = null;
	// Puce puce = null;
	// Prelevement prel = null;
	// String type = null;
	// String idObj = null;
	// Utilisateur user = null;
	// String[] tableau = ligneD.split("°°");
	// if (tableau.length > 2) {
	// if (tableau[3].length() > 2) {
	// type = tableau[3].substring(1, tableau[3].length() - 1);
	// }
	// if (tableau[2].length() > 2) {
	// user =
	// utilisateurService.getUtilisateurById(Integer.parseInt(tableau[2].substring(1,
	// tableau[2].length() - 1)));
	// }
	// if (tableau[1].length() > 2) {
	// idObj = tableau[1].substring(1, tableau[1].length() - 1);
	// }
	// int idTypeDate = Integer.parseInt(tableau[4].substring(1,
	// tableau[4].length() - 1));
	// Date dateS = null;
	// if (!tableau[5].isEmpty() && !tableau[5].equals("NULL")) {
	// try {
	// dateS = formatter.parse(tableau[5].substring(1, tableau[5].length() -
	// 1));
	// } catch (ParseException e) {
	// System.out.println("erreur date : " + tableau[5].substring(1,
	// tableau[5].length() - 1) + ":" + ligneD);
	// e.printStackTrace();
	// }
	// }
	// String commentaire = null;
	// if (tableau.length > 6) {
	// commentaire = tableau[6].substring(1, tableau[6].length() - 1);
	// }
	//
	// if (type != null && type.equals("idPrelevement")) {
	// prel =
	// PrelevementServiceImpl.getInstance().getPrelevementById(Integer.parseInt(idObj));
	// if (prel != null) {
	// if (idTypeDate == 2) {
	// if (prel.getDatePrelevement() == null) {
	// prel.setDatePrelevement(dateS);
	// }
	// }
	// if (idTypeDate == 3) {
	// if (prel.getDateReception() == null) {
	// prel.setDateReception(dateS);
	// }
	// }
	// if (idTypeDate == 4) {
	// Champ dExtract = new Champ();
	// dExtract.setIdObjet("Prel-" + prel.getIdPrelevement());
	// dExtract.setType("dateExtraction");
	// dExtract.setValeur(formater.format(dateS));
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().save(dExtract);
	// HibernateUtil.commitTransaction();
	// }
	// if (idTypeDate == 5) {
	// Champ dExtract = new Champ();
	// dExtract.setIdObjet("Prel-" + prel.getIdPrelevement());
	// dExtract.setType("datePurification");
	// dExtract.setValeur(formater.format(dateS));
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(dExtract);
	// HibernateUtil.commitTransaction();
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(prel);
	// HibernateUtil.commitTransaction();
	// } else {
	// System.out.println("pas de prélèvement pour cette date :" + ligneD);
	// }
	// }
	//
	// if (type != null && type.equals("idPuce")) {
	// try {
	// puce =
	// PuceServiceImpl.getInstance().getPuceByid(Integer.parseInt(idObj));
	// if (puce != null) {
	// if (idTypeDate == 7) {
	// if (puce.getAnalyse().getDateTechnique() == null) {
	// puce.getAnalyse().setDateTechnique(dateS);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(puce.getAnalyse());
	// HibernateUtil.commitTransaction();
	// }
	// }
	// if (idTypeDate == 8) {
	// if (puce.getDateScan() == null) {
	// puce.setDateScan(dateS);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(puce);
	// HibernateUtil.commitTransaction();
	// }
	// }
	// if (idTypeDate == 10) {
	// if (puce.getDateAnnotation() == null) {
	// puce.setDateAnnotation(dateS);
	// if (puce.getAnnotateur() == null) {
	// puce.setAnnotateur(user);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(puce);
	// HibernateUtil.commitTransaction();
	// }
	// }
	// if (idTypeDate == 11) {
	// if (puce.getDateAnnotation() == null) {
	// puce.setDateAnnotation(dateS);
	// if (puce.getAnnotateur() == null) {
	// puce.setAnnotateur(user);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(puce);
	// HibernateUtil.commitTransaction();
	// }
	// }
	// if (idTypeDate == 12) {
	// if (puce.getDateRelecture() == null) {
	// puce.setDateRelecture(dateS);
	// if (puce.getSignataire() == null) {
	// puce.setSignataire(user);
	// }
	// if (commentaire != null && commentaire.equals("Envoyé en réunion")) {
	// puce.setaPasserEnReunion(true);
	// } else {
	// puce.setaPasserEnReunion(false);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(puce);
	// HibernateUtil.commitTransaction();
	// }
	// }
	// if (idTypeDate == 13) {
	// if (puce.getDateReunion() == null) {
	// puce.setDateReunion(dateS);
	// puce.setaPasserEnReunion(true);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(puce);
	// HibernateUtil.commitTransaction();
	// }
	// }
	// if (idTypeDate == 16) {
	// List<RenduPuce> resPuce =
	// ResultatServiceImpl.getInstance().getResultatPuceByIdPuce(Integer.parseInt(idObj));
	// for (RenduPuce r : resPuce) {
	// if (r != null) {
	// if (r.getResultat().getDateRendu() == null) {
	// r.getResultat().setDateRendu(dateS);
	// r.getResultat().setSignataire(user);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r.getResultat());
	// HibernateUtil.commitTransaction();
	//
	// }
	// }
	// }
	//
	// }
	// if (idTypeDate == 500) {
	// List<RenduPuce> resPuce =
	// ResultatServiceImpl.getInstance().getResultatPuceByIdPuce(Integer.parseInt(idObj));
	// for (RenduPuce r : resPuce) {
	// if (r != null) {
	// if (r.getResultat().getDateRendu() == null) {
	// r.getResultat().setDateRendu(dateS);
	// r.getResultat().setSignataire(user);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r.getResultat());
	// HibernateUtil.commitTransaction();
	// }
	// } else {
	// Resultat resultat = new Resultat();
	// resultat.setAnalyse(puce.getAnalyse());
	// if (commentaire != null && !commentaire.equals("")) {
	// resultat.setCommentaire(commentaire);
	// }
	// resultat.setDateRendu(dateS);
	// resultat.setResultat("Echec");
	// resultat.setSignataire(user);
	// resultat.setHerite("NA");
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(resultat);
	// HibernateUtil.commitTransaction();
	// }
	// }
	// }
	//
	// } else {
	// System.out.println("pas de puce pour cette date :" + ligneD);
	// }
	// } catch (NumberFormatException e) {
	// System.out.println("mauvais idPuce :" + ligneD);
	// }
	// }
	//
	// if (type != null && type.equals("idPuce_idResultatPuce")) {
	// String[] tabl = idObj.split("_");
	// if (tabl.length > 1) {
	// List<RenduPuce> renduPuces =
	// ResultatServiceImpl.getInstance().getResultatPuceByIdPuce(Integer.parseInt(tabl[0]));
	// RenduPuce r = null;
	// if (renduPuces.size() >= 1 && Integer.parseInt(tabl[1]) == 1) {
	// r = renduPuces.get(0);
	// }
	// if (renduPuces.size() >= 2 && Integer.parseInt(tabl[1]) == 2) {
	// r = renduPuces.get(1);
	// }
	// if (r != null) {
	// if (idTypeDate == 14) {
	// if (r.getDateRedaction() == null) {
	// r.setDateRedaction(dateS);
	// }
	// }
	//
	// if (idTypeDate == 15) {
	// if (r.getResultat().getSignataire() == null) {
	// r.getResultat().setSignataire(user);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r.getResultat());
	// HibernateUtil.commitTransaction();
	// }
	// if (r.getResultat().getDateRendu() == null) {
	// r.getResultat().setDateRendu(dateS);
	// }
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r);
	// HibernateUtil.commitTransaction();
	// } else {
	// System.out.println("pas de RenduPuce pour cette date :" + ligneD);
	// }
	// } else {
	// System.out.println("date resultat puce à la main :" + ligneD);
	// }
	// }
	//
	// if (type != null && type.equals("idPuce_idResultatFISH")) {
	// String[] tabl = idObj.split("_");
	// if (tabl.length > 1) {
	// List<RenduFish> renduFishs =
	// ResultatServiceImpl.getInstance().getResultatFishByIdPuce(Integer.parseInt(tabl[0]));
	// RenduFish r = null;
	// if (renduFishs.size() >= 1 && Integer.parseInt(tabl[1]) == 1) {
	// r = renduFishs.get(0);
	// }
	// if (renduFishs.size() >= 2 && Integer.parseInt(tabl[1]) == 2) {
	// r = renduFishs.get(1);
	// }
	// if (renduFishs.size() >= 3 && Integer.parseInt(tabl[1]) == 3) {
	// r = renduFishs.get(2);
	// }
	// if (r != null) {
	//
	// if (idTypeDate == 22) {
	// if (r.getDateRedaction() == null) {
	// r.setDateRedaction(dateS);
	// }
	// if (r.getResultat().getAnalyse().getTechnicienne() == null) {
	// r.getResultat().getAnalyse().setTechnicienne(user);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r.getResultat().getAnalyse());
	// HibernateUtil.commitTransaction();
	// }
	// }
	// if (idTypeDate == 23) {
	// if (r.getDateSignature() == null) {
	// r.setDateSignature(dateS);
	// }
	// if (r.getResultat().getDateRendu() == null) {
	// r.getResultat().setDateRendu(dateS);
	// }
	// if (r.getResultat().getSignataire() == null) {
	// r.getResultat().setSignataire(user);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r.getResultat());
	// HibernateUtil.commitTransaction();
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r);
	// HibernateUtil.commitTransaction();
	// } else {
	// System.out.println("pas de RenduFish pour cette date :" + ligneD);
	// }
	// }
	//
	// else {
	// System.out.println("date resultat FISH à la main :" + ligneD);
	// }
	// }
	//
	// if (type != null && type.equals("idPuce_idResultatqPCR")) {
	// String[] tabl = idObj.split("_");
	// if (tabl.length > 1) {
	// List<RenduBiomol> renduBiomols =
	// ResultatServiceImpl.getInstance().getResultatqPCRByIdPuce(Integer.parseInt(tabl[0]));
	// RenduBiomol r = null;
	// if (renduBiomols.size() >= 1 && Integer.parseInt(tabl[1]) == 1) {
	// r = renduBiomols.get(0);
	// }
	// if (renduBiomols.size() >= 2 && Integer.parseInt(tabl[1]) == 2) {
	// r = renduBiomols.get(1);
	// }
	// if (renduBiomols.size() >= 3 && Integer.parseInt(tabl[1]) == 3) {
	// r = renduBiomols.get(2);
	// }
	// if (r != null) {
	// if (idTypeDate == 19) {
	// if (r.getDateRedaction() == null) {
	// r.setDateRedaction(dateS);
	// }
	// if (r.getResultat().getAnalyse().getTechnicienne() == null) {
	// r.getResultat().getAnalyse().setTechnicienne(user);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r.getResultat().getAnalyse());
	// HibernateUtil.commitTransaction();
	// }
	//
	// }
	// if (idTypeDate == 20) {
	// if (r.getDateVerification() == null) {
	// r.setDateVerification(dateS);
	// }
	// r.setVerificateur(user);
	// }
	// if (idTypeDate == 21) {
	// if (r.getDateSignature() == null) {
	// r.setDateSignature(dateS);
	// }
	// if (r.getResultat().getDateRendu() == null) {
	// r.getResultat().setDateRendu(dateS);
	// }
	// r.getResultat().setSignataire(user);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r.getResultat());
	// HibernateUtil.commitTransaction();
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r);
	// HibernateUtil.commitTransaction();
	// } else {
	// System.out.println("pas de RenduPuce pour cette date :" + ligneD);
	// }
	// } else {
	// System.out.println("date resultat qPCR à la main :" + ligneD);
	// }
	// }
	// if (type == null) {
	// System.out.println("date le type est null :" + ligneD);
	// }
	// }
	// }
	//
	// FileInputStream fipH = new
	// FileInputStream("C:/Users/Manon/Documents/workspace visiopuce2/visiopuce/historique.csv");
	//
	// InputStreamReader ipH = new InputStreamReader(fipH, "utf8");
	// BufferedReader brH = new BufferedReader(ipH);
	// StringBuffer txtH = new StringBuffer();
	// while ((lu = brH.readLine()) != null) {
	// txtH.append(lu);
	// }
	// String[] lignesH = txtH.toString().split("##");
	// for (String ligneH : lignesH) {
	// try {
	// int idTypeDate = 0;
	// String[] tableau = ligneH.split("°°");
	// Utilisateur user = null;
	// int idPersonne = 0;
	// int idPrelevement = 0;
	// int idPuce = 0;
	// Personne personne = null;
	// Prelevement prelevement = null;
	// Puce puce = null;
	// Date dateS = null;
	// if (tableau.length > 2) {
	// if (tableau[5].length() > 2) {
	// idTypeDate = Integer.parseInt(tableau[5].substring(1, tableau[5].length()
	// - 1));
	// }
	// if (tableau[7].length() > 2) {
	// user =
	// utilisateurService.getUtilisateurById(Integer.parseInt(tableau[7].substring(1,
	// tableau[7].length() - 1)));
	// }
	// if (tableau[1].length() > 2 && !tableau[1].equals("NULL")) {
	// idPersonne = Integer.parseInt(tableau[1].substring(1, tableau[1].length()
	// - 1));
	// personne = PersonneServiceImpl.getInstance().getPersonneById(idPersonne);
	// }
	// if (tableau[2].length() > 2 && !tableau[2].equals("NULL")) {
	// idPrelevement = Integer.parseInt(tableau[2].substring(1,
	// tableau[2].length() - 1));
	// prelevement =
	// PrelevementServiceImpl.getInstance().getPrelevementById(idPrelevement);
	// }
	// if (tableau[3].length() > 2 && !tableau[3].equals("NULL")) {
	// idPuce = Integer.parseInt(tableau[3].substring(1, tableau[3].length() -
	// 1));
	// puce = PuceServiceImpl.getInstance().getPuceByid(idPuce);
	// }
	//
	// if (!tableau[6].isEmpty() && !tableau[6].equals("NULL")) {
	// try {
	// dateS = formatter.parse(tableau[6].substring(1, tableau[6].length() -
	// 1));
	// } catch (ParseException e) {
	// System.out.println("erreur date " + tableau[6].substring(1,
	// tableau[6].length() - 1) + ":" + ligneH);
	// e.printStackTrace();
	// }
	// }
	//
	// if (idTypeDate == 2 && prelevement != null &&
	// prelevement.getDateReception() == null) {
	// prelevement.setDatePrelevement(dateS);
	// prelevement.setDateReception(dateS);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(prelevement);
	// HibernateUtil.commitTransaction();
	// }
	// HibernateUtil.beginTransaction();
	// Champ dateExtraction =
	// ChampDAOImpl.getInstance().getChampByTypeAndIdObjet("dateExtraction",
	// "Prel-" + idPrelevement);
	// HibernateUtil.commitTransaction();
	// if (idTypeDate == 3 && dateExtraction == null) {
	// Champ dExtract = new Champ();
	// dExtract.setIdObjet("Prel-" + idPrelevement);
	// dExtract.setType("dateExtraction");
	// dExtract.setValeur(formater.format(dateS));
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(dExtract);
	// HibernateUtil.commitTransaction();
	// }
	//
	// if (idTypeDate == 4 && puce != null) {
	// if (puce.getAnalyse().getDateTechnique() == null) {
	// puce.getAnalyse().setDateTechnique(dateS);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(puce.getAnalyse());
	// HibernateUtil.commitTransaction();
	//
	// }
	// }
	//
	// if (idTypeDate == 5 && puce != null) {
	// if (puce.getDateScan() == null) {
	// puce.setDateScan(dateS);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(puce.getAnalyse());
	// HibernateUtil.commitTransaction();
	// }
	// }
	//
	// if (idTypeDate == 7 && puce != null) {
	// if (puce.getDateRelecture() == null) {
	// puce.setDateRelecture(dateS);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(puce.getAnalyse());
	// HibernateUtil.commitTransaction();
	//
	// List<RenduPuce> r =
	// ResultatServiceImpl.getInstance().getResultatPuceByIdPuce(idPuce);
	// for (RenduPuce renduPuce : r) {
	// if (renduPuce.getResultat().getSignataire() == null) {
	// renduPuce.getResultat().setSignataire(user);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(renduPuce.getResultat());
	// HibernateUtil.commitTransaction();
	// }
	// }
	//
	// }
	// }
	//
	// if (idTypeDate == 10 && puce != null) {
	// if (puce.getDateReunion() == null) {
	// puce.setDateReunion(dateS);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(puce.getAnalyse());
	// HibernateUtil.commitTransaction();
	// }
	// }
	//
	// if ((idTypeDate == 21 || idTypeDate == 20) && puce != null) {
	// if (puce.getDateAnnotation() == null) {
	// puce.setDateAnnotation(dateS);
	// if (puce.getAnnotateur() == null) {
	// puce.setAnnotateur(user);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(puce.getAnalyse());
	// HibernateUtil.commitTransaction();
	// }
	// }
	//
	// if ((idTypeDate == 22) && puce != null) {
	// if (puce.getDateRelecture() == null) {
	// puce.setDateRelecture(dateS);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(puce.getAnalyse());
	// HibernateUtil.commitTransaction();
	// List<RenduPuce> r =
	// ResultatServiceImpl.getInstance().getResultatPuceByIdPuce(idPuce);
	// for (RenduPuce renduPuce : r) {
	//
	// if (renduPuce.getResultat().getSignataire() == null) {
	// renduPuce.getResultat().setSignataire(user);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(renduPuce.getResultat());
	// HibernateUtil.commitTransaction();
	// }
	// }
	// }
	// }
	//
	// if (idTypeDate == 18) {
	// List<RenduPuce> r =
	// ResultatServiceImpl.getInstance().getResultatPuceByIdPuce(personne.getIdPucePrincipale());
	// for (RenduPuce renduPuce : r) {
	//
	// if (renduPuce != null) {
	// if (renduPuce.getResultat().getDateRendu() == null) {
	// renduPuce.getResultat().setDateRendu(dateS);
	// }
	// if (renduPuce.getResultat().getSignataire() == null) {
	// renduPuce.getResultat().setSignataire(user);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(renduPuce.getResultat());
	// HibernateUtil.commitTransaction();
	// }
	// }
	// }
	//
	// if (idTypeDate == 8) {
	// List<RenduFish> rf =
	// ResultatServiceImpl.getInstance().getResultatFishByIdPuce(idPuce);
	// for (RenduFish r : rf) {
	//
	// if (r != null) {
	// if (r.getResultat().getAnalyse().getDateTechnique() == null) {
	// r.getResultat().getAnalyse().setDateTechnique(dateS);
	// }
	// if (r.getResultat().getAnalyse().getTechnicienne() == null) {
	// r.getResultat().getAnalyse().setTechnicienne(user);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r.getResultat().getAnalyse());
	// HibernateUtil.commitTransaction();
	//
	// }
	// }
	// }
	//
	// if (idTypeDate == 11) {
	// List<RenduFish> rf =
	// ResultatServiceImpl.getInstance().getResultatFishByIdPuce(idPuce);
	// for (RenduFish r : rf) {
	// if (r != null) {
	// if (r.getDateRedaction() == null) {
	// r.setDateRedaction(dateS);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r);
	// HibernateUtil.commitTransaction();
	//
	// }
	// }
	// }
	//
	// if (idTypeDate == 15) {
	// List<RenduFish> rf =
	// ResultatServiceImpl.getInstance().getResultatFishByIdPuce(idPuce);
	// for (RenduFish r : rf) {
	//
	// if (r != null) {
	// if (r.getDateSignature() == null) {
	// r.setDateSignature(dateS);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r);
	// HibernateUtil.commitTransaction();
	// if (r.getResultat().getDateRendu() == null) {
	// r.getResultat().setDateRendu(dateS);
	// }
	// if (r.getResultat().getSignataire() == null) {
	// r.getResultat().setSignataire(user);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r.getResultat());
	// HibernateUtil.commitTransaction();
	// }
	// }
	// }
	//
	// if (idTypeDate == 9) {
	// List<RenduBiomol> rf =
	// ResultatServiceImpl.getInstance().getResultatqPCRByIdPuce(idPuce);
	// for (RenduBiomol r : rf) {
	// if (r != null) {
	// if (r.getResultat().getAnalyse().getDateTechnique() == null) {
	// r.getResultat().getAnalyse().setDateTechnique(dateS);
	// }
	// if (r.getResultat().getAnalyse().getTechnicienne() == null) {
	// r.getResultat().getAnalyse().setTechnicienne(user);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r.getResultat().getAnalyse());
	// HibernateUtil.commitTransaction();
	//
	// }
	// }
	// }
	//
	// if (idTypeDate == 12) {
	// List<RenduBiomol> rf =
	// ResultatServiceImpl.getInstance().getResultatqPCRByIdPuce(idPuce);
	// for (RenduBiomol r : rf) {
	// if (r != null) {
	// if (r.getDateRedaction() == null) {
	// r.setDateRedaction(dateS);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r);
	// HibernateUtil.commitTransaction();
	// }
	// }
	// }
	//
	// if (idTypeDate == 14) {
	// List<RenduBiomol> rf =
	// ResultatServiceImpl.getInstance().getResultatqPCRByIdPuce(idPuce);
	// for (RenduBiomol r : rf) {
	// if (r != null) {
	// if (r.getDateVerification() == null) {
	// r.setDateVerification(dateS);
	// }
	// if (r.getVerificateur() == null) {
	// r.setVerificateur(user);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r);
	// HibernateUtil.commitTransaction();
	//
	// }
	// }
	// }
	//
	// if (idTypeDate == 16) {
	// List<RenduBiomol> rf =
	// ResultatServiceImpl.getInstance().getResultatqPCRByIdPuce(idPuce);
	// for (RenduBiomol r : rf) {
	// if (r != null) {
	// if (r != null) {
	// if (r.getDateSignature() == null) {
	// r.setDateSignature(dateS);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r);
	// HibernateUtil.commitTransaction();
	// if (r.getResultat().getSignataire() == null) {
	// r.getResultat().setSignataire(user);
	// }
	// if (r.getResultat().getDateRendu() == null) {
	// r.getResultat().setDateRendu(dateS);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r.getResultat());
	// HibernateUtil.commitTransaction();
	//
	// }
	// }
	// }
	//
	// if (idTypeDate == 13) {
	// List<RenduPuce> r =
	// ResultatServiceImpl.getInstance().getResultatPuceByIdPuce(idPuce);
	// for (RenduPuce renduPuce : r) {
	// if (renduPuce != null) {
	// if (renduPuce.getDateRedaction() == null) {
	// renduPuce.setDateRedaction(dateS);
	// }
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r);
	// HibernateUtil.commitTransaction();
	//
	// }
	// }
	// }
	//
	// if (idTypeDate == 17) {
	// List<RenduPuce> r =
	// ResultatServiceImpl.getInstance().getResultatPuceByIdPuce(idPuce);
	// for (RenduPuce renduPuce : r) {
	// if (renduPuce.getResultat().getSignataire() == null) {
	// renduPuce.getResultat().setSignataire(user);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(renduPuce.getResultat());
	// HibernateUtil.commitTransaction();
	// }
	// }
	// }
	// }
	//
	// if (idTypeDate > 24 && puce != null) {
	// Resultat r = new Resultat();
	// r.setResultat("Echec");
	// r.setDateRendu(dateS);
	// r.setAnalyse(puce.getAnalyse());
	// r.setHerite("NA");
	// if (tableau[8].length() > 0 && tableau[8].substring(1,
	// tableau[8].length() - 1) != null && !tableau[8].substring(1,
	// tableau[8].length() - 1).equals("NL")) {
	// String raison = "";
	// switch (idTypeDate) {
	// case 25:
	// raison = "ADN à reconcentrer";
	// break;
	// case 26:
	// raison = "ADN à repurifier";
	// break;
	// case 27:
	// raison = "demander un nouveau prélèvement";
	// break;
	// case 28:
	// raison = "refaire une autre puce";
	// break;
	// case 29:
	// raison = "rescanner la même puce";
	// break;
	// case 30:
	// raison = "envoyé à l'extérieur";
	// break;
	// case 31:
	// raison = "réanalyser avec d'autres paramètres";
	// break;
	// case 32:
	// raison = "échantillon non conforme";
	// break;
	// case 33:
	// raison = "Echec de la technique";
	// break;
	// case 34:
	// raison = "Puce réalisée par erreur";
	// break;
	// case 35:
	// raison = "Puce réalisée pour test";
	// break;
	// default:
	// break;
	// }
	// r.setCommentaire("Raison : " + raison + " " + tableau[8]);
	//
	// }
	// r.setSignataire(user);
	// HibernateUtil.beginTransaction();
	// HibernateUtil.getSession().saveOrUpdate(r);
	// HibernateUtil.commitTransaction();
	// }
	// }
	// } catch (Exception e) {
	// System.out.println("erreur date : " + ligneH);
	// e.printStackTrace();
	//
	// }
	// }
	// } catch (FileNotFoundException e) {
	// // TODO Auto-generated catch block
	// e.printStackTrace();
	// } catch (IOException e) {
	// // TODO Auto-generated catch block
	// e.printStackTrace();
	// } catch (NumberFormatException e) {
	// // TODO Auto-generated catch block
	// e.printStackTrace();
	// }

	// }
}